# UDP 发送端（发送 "Hello World" 及其他消息）

import socket

def udp_client():
    # 创建UDP套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    # 接收端地址（本地测试用localhost，端口5000）
    server_addr = ('localhost', 5000)

    try:
        # 先发送默认消息"Hello World"
        first_msg = "Hello World"
        udp_socket.sendto(first_msg.encode('utf-8'), server_addr)
        print(f"已发送初始消息：{first_msg}")

        # 循环发送其他消息，直到输入"bye"
        while True:
            message = input("请输入要发送的消息（输入bye结束）：")
            # 发送消息（需编码为字节）
            udp_socket.sendto(message.encode('utf-8'), server_addr)
            # 若输入bye，退出循环
            if message.lower() == 'bye':
                print("发送结束指令，退出程序。")
                break
    finally:
        # 关闭套接字
        udp_socket.close()


if __name__ == "__main__":
    udp_client()